<?php

/**
 * jugador actions.
 *
 * @package    g2t
 * @subpackage jugador
 * @author     Your name here
 * @version    SVN: $Id: actions.class.php 23810 2009-11-12 11:07:44Z Kris.Wallsmith $
 */
class jugadorActions extends sfActions
{
 /**
  * Executes index action
  *
  * @param sfRequest $request A request object
  */
  public function executeIndex(sfWebRequest $request)
  {
    return $this->renderText("                       
            <script type='text/javascript' src='../js/jugador/panelesCrud.js'></script>
            <script type='text/javascript' src='../js/jugador/live_search_grid.js'></script>");
  }
  
 
  
  public function executeRegistrar(sfWebRequest $request)
  {
  
      $archivos=$request->getFiles();
                  
       $archivo=$archivos['rutaFotoJug'];
       
       $fotoValida= $this->validarImagenFoto($archivo);
       
       if(!$fotoValida) 
       {
            sfConfig::set('sf_web_debug', false);
            $this->renderText("({success:false})");
            return sfView::NONE;
       }
      
      $jugador=new Jugador();                      
      $jugador->setNombrejugador($request->getPostParameter('nombresJug'));
      $jugador->setApellidojugador($request->getPostParameter('apellidosJug'));    
      $jugador->setNumidentificacion($request->getPostParameter('identifJug'));
      
      //leer archivo de imagen y sacar el contenido
      $fp= fopen($archivo['tmp_name'], 'r');
      $contenido = fread($fp, filesize($archivo['tmp_name']));
      $contenido = addslashes($contenido);
      fclose($fp);
      
      $jugador->setFotojugador($contenido);
      $jugador->setTelefonojugador($request->getPostParameter('telJug'));     
      $jugador->setRhjugador($request->getPostParameter('rhJug'));
      $jugador->setFechaNacimiento(date($request->getPostParameter('fechaNcmtoJug')));
      $jugador->setEstaturajugador($request->getPostParameter('estaturaJug'));
      $jugador->setPesojugador($request->getPostParameter('pesoJug'));
      $jugador->setCorreojugador($request->getPostParameter('e-mailJug'));
      $jugador->setEstadojugador($request->getPostParameter('estadoJug'));
      $jugador->setCiudadIdciudad($request->getPostParameter('ciudadJug'));
      
      $ranking= new Ranking();
      $ranking->setPuntajeranking(0);
      $ranking->setPosicionranking(0);
      $ranking->save();
      
      $jugador->setRanking($ranking);
      //asignar ranking jugador
      $jugador->save();
      
      
        sfConfig::set('sf_web_debug', false);
        $this->renderText("({success:true})");
        return sfView::NONE;
      
  }
  
  
  public function executeEditarDatos(sfWebRequest $request)
  {            
      $idJugador=$request->getPostParameter('idJug');            
      $jugador=Doctrine::getTable('jugador')->find($idJugador);      
      $jugador->setNombrejugador($request->getPostParameter('nombresJug'));
      $jugador->setApellidojugador($request->getPostParameter('apellidosJug'));    
      $jugador->setNumidentificacion($request->getPostParameter('identifJug'));
     // $usuario->setDireccionusuario($request->getPostParameter('identifUsuario'));
      //falta el set para fecha de nacimiento del usuario
      $jugador->setCorreojugador($request->getPostParameter('e-mailJug'));
     // $jugador->setLogginusuario($request->getPostParameter('logginUsuario'));
      $jugador->setEstadojugador($request->getPostParameter('estadoJug'));
      $jugador->setTelefonojugador($request->getPostParameter('telJug'));
      $jugador->setPesojugador($request->getPostParameter('pesoJug'));
      $jugador->setEstaturajugador($request->getPostParameter('estaturaJug'));
      $jugador->setRhjugador($request->getPostParameter('rhJug'));
            
      //$ciudad=Doctrine::getTable('ciudad')->findOneByIdciudad($request->getPostParameter('ciudadJug'));      
      $jugador->setCiudadIdciudad($request->getPostParameter('ciudadJug'));     
      
      $jugador->save();      
        sfConfig::set('sf_web_debug', false);
        $this->renderText("({success:true})");
        return sfView::NONE;
  }
  
  public function executeObtenerFoto(sfWebRequest $request)
  {      
      
      //$this->getResponse()->setHttpHeader('Content-type','image/png');
      
      $idJugador=$request->getGetParameter('idJug');
      
      $jugador=Doctrine::getTable('jugador')->findOneByIdjugador($idJugador);
      
      $foto=$jugador->getFotojugador();
      
     /* $this->getResponse()->setContent($foto->getInhalt());
      return sfView::NONE;*/
      $foto= stream_get_contents($foto->getInhalt());


      
      return $this->renderText($foto);
  }
  
    public function executeListar(sfWebRequest $request)
  {         
      
         $inicio=(int)$request->getGetParameter('start');
         $fin=(int)$request->getGetParameter('limit');
         
         $jugadores=Doctrine::getTable('jugador')->createQuery()->execute();         
         $numJugadores=count($jugadores); 
         
         $jugadores=Doctrine::getTable('jugador')->createQuery()->limit($fin)->offset($inicio)->execute();
         
         if($numJugadores!=0)
         {
              
             $arraytotal=array('total' => $numJugadores);
             $array=array();
             
             foreach($jugadores as $jugador)
             {                                
                 
                 $response=array('idJug'=> $jugador->getIdjugador(),
                                'identifJug'=> $jugador->getNumidentificacion(),  
                                'nombresJug'=> $jugador->getNombrejugador(),
                                'apellidosJug' => $jugador->getApellidojugador(),
                            'pesoJug' => $jugador->getPesojugador(),
                            'fechaNcmtoJug'=> $jugador->getFechaNacimiento(),//"crear el campo en bd",
                            'telJug' => $jugador->getTelefonojugador(),
                            'e-mailJug' => $jugador->getCorreojugador(),
                            'estaturaJug' => $jugador->getEstaturajugador(),
                            'rhJug'=> $jugador->getRhjugador(),//"crear el campo en bd",
                            'ciudadJug' => $jugador->getCiudad()->getNombreciudad(),
                           'paisJug' => $jugador->getCiudad()->getPaisIdpais(),
                           'estadoJug'=> $jugador->getEstadojugador(),
                            'ptosRankJug' => $jugador->getRanking()->getPuntajeranking(),
                            'posRankJug' => $jugador->getRanking()->getPosicionranking(),
                     );
                 
                 $array[]=$response;
             }
             
             $arraytotal["items"]=$array;             
             return $this->renderText(json_encode($arraytotal));
         }         
  }
  
  //la siguiente funcion es provicional va a ir ubicada en otro lado no definido todavia

  
   public function executeGetEstados(sfWebRequest $request)
  {       
             $arraytotal=array('total' => 3);
             $array=array();
             $array[]=array('nombreEstado'=> "Activo");                
             $array[]=array('nombreEstado'=> "Suspendido");                 
             $array[]=array('nombreEstado'=> "Deshabilitado");
              
             $arraytotal["items"]=$array;             
             return $this->renderText(json_encode($arraytotal));         
         
         //retornar error
  }

  public function validarImagenFoto($archivo)
  {
          if(in_array($archivo['type'],array( 'image/jpeg', 'image/png', 'image/gif', 'image/x-png')))
          {              
              if ($archivo['size'] <= 500000)
              {                 
                      return true;                                    
              } else return false;
          } else return false;
  }
  
  
}
